Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

249
Visualizações
Haz una consulta con el filtro "dónde" en Firestore

Quiero filtrar y obtener elementos específicos según el ID de categoría, donde uso el método "dónde" y el operador "==".

Tengo esta colección de Firestore llamada "tarea", donde los documentos se dividen por ID de usuario y cada documento para un usuario contiene una variedad de tareas diferentes. La estructura se ve aquí: Ingrese la descripción de la imagen aquí

Así es como agrego las tareas de matriz para un usuario en la colección de tareas:

 const addToFirebase = async() => { if(dataFetch) { await setDoc(doc(db, "task", `${firebase.auth().currentUser.uid}`), { tasks: tasks }, {merge: true}); } }

Y así es como he intentado hacer mi consulta que no funciona:

 const getFilteredTasks = async() => { const collectionRef = collection(db, "task", `${firebase.auth().currentUser.uid}`, "tasks"); const q = query(collectionRef, where("categoryID", "==", item.id)); console.log('outside snapshot') console.log(item.id) const querySnapshot = await getDocs(q); querySnapshot.forEach((doc) => { console.log(doc.data()); console.log('inside snapshot') }); }

Cuando se llama a la función anterior, registra la "instantánea externa" y el item.id correcto, que es el ID de categoría para cada tarea, pero no registra el doc.data() ni la "instantánea interna".

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Configuró su consulta como si cada tarea fuera un documento separado en una colección, pero según la captura de pantalla y la forma en que configura los datos, solo tiene un documento por usuario. Ese documento contiene todas las tareas individuales. Entonces, para acceder a eso, obtendría el documento y usaría el código del lado del cliente para usar las partes de los datos que le interesan:

 const getFilteredTasks = async () => { const docRef = doc(db, 'task', `${firebase.auth().currentUser.uid}`); const snapshot = await getDoc(docRef); const data = snapshot.data(); if (!data) { return []; } else { return data.tasks.filter(task => task.categoryID === item.id); } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda